﻿using System;

namespace TEST01
{
    class Program
    {
        static void Main(string[] args)
        {
            //输出
            //System.out.print();
            //Console.Write("");//print
            //Console.WriteLine("Hello World!");  //自动换行println

            ////输入
            ////Scanner s = new Scanner(System.in);
            ////int a = s.nexInt();
            ////默认输入的是字符串,
            //string a = Console.ReadLine();
            ////byte(-128-127) short(16位) int(32位) long(64位)
            //int b = Convert.ToInt32(Console.ReadLine());

            //变量:
            //int c = 8;
            //Console.WriteLine(c); //8
            //c = 7;
            //Console.WriteLine(c); //7
            ////命名规范：驼峰命名法
            ////小驼峰：第一个单词首字母小写，其余的是大写。常用于：变量，方法
            //int myAge = 5;
            //string myClassName = "2班";
            //大驼峰：每个单词的首字母都大写:  MyDataBase

            //尽量做到：见名识义


            //数据类型：整型，浮点(double 15 16)，字符，布尔(bool)，string，decimal
            //decimal 能与整型进行运算，不能与浮点型共同运算
            //bool b = true;
            //double s = 8.0;
            //decimal d = 8.0M;
            //string s1 = "蜗牛";
            //d = d + 1;
            //Console.WriteLine(d);

            //运算符:算数，赋值，逻辑，比较，三元（三目）
            //算数：+-*/%
            //赋值：+=，-=，*=，/=，%=,=,++,--   sum+=1--> sum = sum + 1
            //比较：>,<,>=,<=,!=,==
            //逻辑：&&, ||, !
            //false && false/true --> false
            //短路与
            //短路或: true || false/true -->true
            int a = 4;
            int b = 5;
            int c = 3;
            //bool bo = a > b && ++a>b;//-->false
            //Console.WriteLine(bo);
            //Console.WriteLine(a);

            //三元：   (条件表达式-->true/false)?true:false
            //int max = a > b ? a : b;
            //比较三个数的最大值
            //a>b a<c --> c>b>a
            int max = a > b ? (a>c?a:c) : (b>c?b:c);
            Console.WriteLine("max=" + max);
            Console.WriteLine("max={0},{1},{2}",max,a,b);
            Console.WriteLine($"max={max},{a},{b}");


            // 用A,B,C等级对学生的的成绩分类, 其中0 - 60是c, 60 – 80是B,81 – 100
            // 是a等级,请用代码实现该功能,判断某位同学的分数等级,同学的的分数由用户输入,
            // 不会从控制台接受数据就自己假设分数

            //有符号数(-32768,32767)，无符号数(0-(32767+32768))
            //short a1 = -32767;

            //int A =Convert.ToInt32(Console.ReadLine());
            ////选择: 
            //if(A>100 || A < 0)
            //{
            //    Console.WriteLine("输入错误");
            //}
            //else if (A > 80)  //false  a<=b
            //{
            //    Console.WriteLine("等级是a");
            //}
            //else if (A > 60)
            //{
            //    Console.WriteLine("等级是b");
            //}
            //else // a<b
            //{
            //    Console.WriteLine("等级是c");
            //}

            //循环
            //循环四要素： 初始值，判断条件（出口），循环体， （迭代因子）自增，
            //1+2+3.。。+10
            //int num = 1;  //初始值
            //int sum = 0;
            //bool isBreak = true;
            //while (isBreak) //判断条件
            //{
            //    sum += num; //方法体
            //    num++; //迭代因子
            //    if (num > 10)
            //    {
            //        isBreak = false;
            //    }
            //}

            //for (int num = 1; num <= 10; num++)
            //{
            //    sum += num;
            //}
            //Console.WriteLine("sum={0}", sum);

            //什么情况下使用while：知道退出条件，不知道循环次数
            string className = "21软件技术2班";
            //foreach(数据类型 变量名 in 数组，集合)

            //var:隐式声明变量
            var s = 46465;
            Type t = s.GetType();
            Console.WriteLine(t);



            foreach(var i in className)
            {
                Console.WriteLine(i);
            }

        }
    }
}
